package app.maker.metier.ticketIntf;

import java.util.Date;
import java.util.List;

import javax.ejb.Remote;

import app.maker.entity.Ticket;
import app.maker.entity.User;
import app.maker.error.TicketException;
import app.maker.error.UserException;

@Remote
public interface IGestionTicket {
	
	public void creerTicket(Ticket nvTicket, User source, User pilote) throws UserException, TicketException;
	
	public void creerTicket(Ticket nvTicket, User source, User pilote, Date maDate, String ref) throws UserException, TicketException;
	
	public void modifierTicket(Ticket monTicket, User userSource, User userPilote) throws TicketException, UserException;
	
	public void terminerTicket(Ticket monTicket, User user) throws TicketException, UserException;
	
	public void validerTicket(Ticket monTicket, User user) throws TicketException, UserException;
	
	public void invaliderTicket(Ticket monTicket, User user) throws UserException, TicketException;
	
	public void supprimerTicket(Ticket ticket, User user) throws TicketException, UserException;
	
	public Ticket consulterTicket(String reference) throws TicketException;
	
	public List<Ticket> getAllTicketsBD() throws TicketException;
	
	public User getSource(int idTicket) throws TicketException;
}
